package com.hzqy.commons.service.utils;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.hzqy.commons.utils.CommonsMessage;
import com.hzqy.web.vo.wx_tv.WsSessionVo;

public class UserAppointmentJob implements Job {  
	protected final Logger LOG = LoggerFactory.getLogger(getClass());
    public void execute(JobExecutionContext context)  
            throws JobExecutionException {  
        // job 的名字  
        String jobName = context.getJobDetail().getKey().getName();  
        // 任务执行的时间  
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日  HH 时 mm 分 ss 秒");  
        String jobRunTime = dateFormat.format(Calendar.getInstance().getTime());  
        String message = context.getJobDetail().getJobDataMap().getString("message");  
        String[] cmds = message.split("\\|");
    	WsSessionVo stbSession = CommonsMessage.getStbSessionFromCache(cmds[1]);
    	if(stbSession!=null && stbSession.getSession().isOpen()) {
			CommonsMessage.send(stbSession.getSession(),message);
			//sendPing(stbSession);
			LOG.debug("session.getId="+stbSession.getSession().getId()+"ReceiveMessage-转发命令到机顶盒。。。serverid="+cmds[1]);
		} else {
			LOG.debug("ReceiveMessage-机顶盒连接未连上或者关闭。。。serverid="+cmds[1]);
		}
        // 输出任务执行情况  
        LOG.debug("任务 : " + jobName + " 在  " +jobRunTime + " 执行了 "+"from=="+message);  
    }  
}  